package com.go.where.family.component;

import java.util.List;

import com.go.where.family.pojo.ActivityInfo;
import com.go.where.family.pojo.ActivityRetrospectInfo;
import com.go.where.family.pojo.ActivitySignupInfo;
import com.go.where.family.pojo.BigClassInfo;
import com.go.where.family.pojo.DonateRetrospectInfo;
import com.go.where.family.pojo.SmallClassInfo;
import com.go.where.family.scoket.Head;
import com.go.where.family.vo.HomeSearchVo;

/**
 * 活动信息组件
 * 
 * @author java
 * 
 */
public interface ActivityComponent {

	/**
	 * 分页查询活动信息
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public List<ActivityInfo> queryList(String body, Head head);

	/**
	 * 分页查询活动回顾信息
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public List<ActivityRetrospectInfo> queryRetroList(String body, Head head);

	/**
	 * 分页查询捐助活动信息
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public List<ActivityInfo> queryDonateList(String body, Head head);

	/**
	 * 分页查询捐助活动回顾信息
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public List<DonateRetrospectInfo> queryDonateRetroList(String body,
			Head head);

	/**
	 * 更新参与人数，点赞数
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public boolean update(String body, Head head);

	/**
	 * 
	 * 查询活动详情
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public ActivityInfo queryActivityDetail(String body, Head head);

	/**
	 * 删除我的活动
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public boolean delete(String body, Head head);

	/**
	 * 全部删除我的活动
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public boolean deleteAll(String body, Head head);

	/**
	 * 查询我报名参加的活动
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public List<ActivitySignupInfo> querySignupList(String body, Head head);

	/**
	 * 获取大类列表
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public List<BigClassInfo> queryBigClassList(String body, Head head);

	/**
	 * 获取大类下的小类列表
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public List<SmallClassInfo> querySmallClassList(String body, Head head);

	/**
	 * 主页搜索
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public HomeSearchVo homeSearch(String body, Head head);
}
